/************************************************************************
* Game class, the top level structure which handle MVC system
* Author : Shaolan
* Version : 1.0
* Website : http://shaolan.net
*/

#ifndef MODEL_HEADER
	#include "model.hpp"
	#define MODEL_HEADER 1
#endif

#include "view.hpp"
#include "controller.hpp"

#ifndef LIBGE_HEADER
	#include <libge/libge.h>
	#define LIBGE_HEADER 1
#endif

class Game {
	protected:
		Model * model;
		View * view;
		Controller * controller;
	public:
		Game();
		~Game();
		Model * getModel() const;
		View * getView() const;
		Controller * getController() const;
		void setModel(Model *);
		void setView(View *);
		void setController(Controller *);
		bool run();
};